// 用户管理模块的TS类型

// 响应数据的TS类型
interface ResData {
    code: number;
    message: string;
    ok: boolean;
}

// 用户单条记录的类型
export interface UserObj {
    id?: number;
    createTime?: string;
    updateTime?: string;
    username: string;
    password: string;
    name: string;
    phone?: string | null;
    roleName?: string;
}
// 获取用户账号信息接口的返回值类型
export interface UserResData extends ResData {
    data: {
        records: UserObj[];
        total: number;
        size: number;
        current: number;
        orders: any[]; // 可以根据具体数据定义类型
        optimizeCountSql: boolean;
        hitCount: boolean;
        countId: string | null;
        maxLimit: number | null;
        searchCount: boolean;
        pages: number;
    }
}

// 角色对象类型
export interface RoleObj {
    id?: number;
    createTime?: string;
    updateTime?: string;
    roleName: string;
    remark?: string | null;
}
// 获取全部角色和已有角色接口的响应数据类型
export interface RoleResData extends ResData {
    data: {
        assignRoles: RoleObj[];
        allRolesList: RoleObj[];
    }
}

// 给用户分配角色接口携带的参数类型
export interface AssignRoleObj {
    roleIdList: number[],
    userId: string | number
}